Date: Wed, 20 Nov 1996 21:54:50 GMT
Server: Apache/1.0.5
Content-type: text/html
Content-length: 4373
Last-modified: Wed, 18 Jan 1995 19:58:46 GMT

<HTML>
<HEAD>
<TITLE>CS 531: Advanced Compiler Construction</TITLE>
</HEAD>
<BODY>
<H1>CS 531: Advanced Compiler Construction</H1>
<STRONG>Winter 1995</STRONG><BR>
<STRONG>TTh 2:00-3:15</STRONG><BR>
<STRONG>120 TMCB</STRONG><BR>

<P>
<b> Instructor: </b> 
<!WA0><a href="http://www.cs.byu.edu/info/pegbert.html">Parris K. Egbert</a><br>
 <b> Office:  </b> 3328 TMCB <br> 
 <b> Phone:  </b> 378-4029 <br> 
 <b> Office Hours: </b> 9:00 - 10:15 TTh <br>
 <b> Email:  </b> egbert@cs.byu.edu <br>

<P>
<b> Teaching Assistant: </b> Kenneth Li <br>
 <b> Office:  </b> 3304 TMCB <br> 
 <b> Phone:  </b> 378-8352 <br> 
 <b> Office Hours: </b> TBD <br>
 <b> Email:  </b> kkl@bert.cs.byu.edu <br>
 
<H2>Text</H2>
<EM>Compilers: Principles, Techniques, and Tools</EM>
by Aho, Sethi, and Ullman

<H2> Course Description</H2>
The purpose of this course is to study advanced topics
pertaining to compiler construction.  Since 
<!WA1><a href="http://www.cs.byu.edu/courses/cs531/syllabus.html">CS 431</A> is a prerequisite to this
course, a basic knowledge and understanding of compilers is assumed.  This
course will take a more in-depth look at compiler topics such as various
parsing techniques and grammars, code optimization, error recovery, and
type checking.


<H2>Grading</H2>
Final grades will be determined from the following:
<PRE>	
	Midterm Exam:	30%
	Final Exam:	35%
	Programs:	30%
	Papers:		 5%
</PRE>	

<H2>Programs</H2>
All programs for this course will be written in either C or C++.
 You can use any machine you would like.  Access to the department PCs or
UNIX machines will be given for those who need and desire it.  There will
be three programs assigned throughout the semester.  They will be fairly
time consuming and involved, so it is strongly recommended that you begin
early on them.  You will pass off your assignments by running them on input
that I give you and turning in the results.  If you begin early on the
assignments and budget your time wisely, you will have enough time to
complete the assignments.  If you don't, you probably won't finish.  

<P>
Since
late homework is such a hassle to deal with, you will be penalized
substantially for turning you work in late.  
The late policy is:  a
10% deduction the first day late, 20% the second day, 30% the third day,
40% for the fourth day, 50% for the fifth day, and no credit will be given
after that time.
<P>
The <!WA2><A href="http://www.cs.byu.edu/courses/cs531/program1.html">first program</A> will be to write a
lexical analyzer generator.  For
those of you familiar with LEX, you will essentially be writing a LEX
equivalent.  The <!WA3><A href="http://www.cs.byu.edu/courses/cs531/program2.html">second assignment</A> will be
to write a parser generator 
(like YACC).  The <!WA4><A href="http://www.cs.byu.edu/courses/cs531/program3.html">third assignment</A> will
deal with compiler optimizations.

<H2>Papers</H2>
You will write two papers this semester.  The first will be due
Feb. 9, and the second will be due March 30.  The papers will be between 3
and 6 pages in length and must contain at least 3 bibliographic references.
<P>
 For each paper you are to take a research topic in compiler construction,
describe the topic, reference work that has been done in the area, and
present ways of improving previous work or new ideas for solving the
problem at hand.  The purpose of the papers is to familiarize you with
current work being done in this field.  The best way of accomplishing this
is to have you research into the current literature and become familiar
with journals, conferences and people in this area.

<H2>Course Notes</H2>
The course notes are available in the reserve section of the library.

<H2>Exams</H2>
There will be one mid-term exam during the semester on March 2.
The final will be held Wednesday, April 26 from 3 PM to 6 PM.

<H2>Tentative Course Outline</H2>
There is a <!WA5><A href="http://www.cs.byu.edu/courses/cs531/outline.html">tentative course outline</A> available.

<H2> CS.531 News Group </H2>

There is a <!WA6><A href="news:cs.531"> news group </A> for this class 
where students can have discussions.

<HR>

Go to
<!WA7><A href="http://www.cs.byu.edu/info/courses.html">BYU CS Courses</A> 
<!WA8><a href="http://www.cs.byu.edu/byu.html">
<!WA9><img align=MIDDLE src="http://www.cs.byu.edu/buttons/button-to-cs.gif" ALT="BYU CS Dept."></a>

<hr>

<ADDRESS>Converted to HTML Wed Jan 18 11:38:29 1995 ... </ADDRESS>
<EM>Updated
Wed Jan 18 12:05:45 1995
</EM><ADDRESS>
by <!WA10><a href="http://lal.cs.byu.edu/people/black.html">Paul E. Black
</a>
(black@lal.cs.byu.edu)
</ADDRESS>

</BODY>
</HTML>












